﻿using MESPro.Controls;
using MESPro.Models.FunctionType;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Forms.Layout;

namespace RM.Controls
{
    public partial class RMTabPage : TabPage
    {
        public RMTabPage()
        {
            InitializeComponent();
        }

        protected override void OnPaint(PaintEventArgs pe)
        {
            base.OnPaint(pe);
        }
        #region 重新定义的属性
        [Category("\t\t\t\t\t\t\t\t参数设置"), Description("控件名"), DisplayName("1.控件名"), Browsable(true)]
        public new string Name { get => base.Name; set => base.Name = value; }
        [Category("\t\t\t\t\t\t\t\t参数设置"), Description("显示名称"), DisplayName("2.显示名称"), Browsable(true)]
        public new string Text { get => base.Text; set => base.Text = value; }
        [Category("\t\t\t\t\t\t\t\t参数设置"),
          Description("点击这个按钮会执行的存储过程"),
          DisplayName("\t\t\t\t存储过程"),
          TypeConverter(typeof(ExpandableObjectConverter)),
          Editor(typeof(PropertyReturnStoreProcedure), typeof(UITypeEditor))]
        [SugarColumn(IsJson = true)]
        public StoreProInfo StoredProcedure { get; set; } = new();
        [Category("\t\t\t\t\t\t\t\t参数设置"), Description("排序"), DisplayName("5.排序")]
        public string Order { get; set; } = "";
        [DisplayName("固定位置"), Description("固定位置"), Browsable(true)]
        public override AnchorStyles Anchor { get => base.Anchor; set => base.Anchor = value; }
        [DisplayName("定位"), Description("停靠"), Browsable(true)]
        public new Point Location { get => base.Location; set => base.Location = value; }
        [DisplayName("大小"), Description("控件的大小"), Browsable(true)]
        public new Size Size { get => base.Size; set => base.Size = value; }
        [DisplayName("停靠位置"), Description("停靠位置"), Browsable(true)]
        public override DockStyle Dock { get => base.Dock; set => base.Dock = value; }
        [DisplayName("字体设置"), Description("字体设置"), Browsable(true)]
        public override Font Font { get => base.Font; set => base.Font = value; }
        [DisplayName("背景色"), Description("背景色"), Browsable(true)]
        public override Color BackColor { get => base.BackColor; set => base.BackColor = value; }
        [DisplayName("字体颜色"), Description("字体颜色"), Browsable(true)]
        public override Color ForeColor { get => base.ForeColor; set => base.ForeColor = value; }
        [Category("外观"),DisplayName("提示信息"), Description("提示信息"), Browsable(true)]
        public new string ToolTipText { get => base.ToolTipText; set => base.ToolTipText = value; }
        [ DisplayName("边框样式"), Description("边框样式"), Browsable(true)]
        public new BorderStyle BorderStyle { get => base.BorderStyle; set => base.BorderStyle = value; }
        #endregion
        #region 隐藏不需要的属性
        [Browsable(false)]
        public new bool Visible { get => base.Visible; set => base.Visible = value; }
        [Browsable(false)]
        public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; }
        [Browsable(false)]
        public new Cursor Cursor { get => base.Cursor; set => base.Cursor = value; }
        [Browsable(false)]
        public new AccessibleRole AccessibleRole { get => base.AccessibleRole; set => base.AccessibleRole = value; }
        [Browsable(false)]
        public new string AccessibleName { get => base.AccessibleName; set => base.AccessibleName = value; }
        [Browsable(false)]
        public new string AccessibleDescription { get => base.AccessibleDescription; set => base.AccessibleDescription = value; }
        [Browsable(false)]
        public new bool TabStop { get => base.TabStop; set => base.TabStop = value; }
        [Browsable(false)]
        public new int TabIndex { get => base.TabIndex; set => base.TabIndex = value; }
        [Browsable(false)]
        public new bool Enabled { get => base.Enabled; set => base.Enabled = value; }
      
        [Browsable(false)]
        public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; }
        [Browsable(false)]
        public new bool UseVisualStyleBackColor { get => base.UseVisualStyleBackColor; set => base.UseVisualStyleBackColor = value; }

        [Browsable(false)]
        public new bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; }
        [Browsable(false)]
        public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; }
        [Browsable(false)]
        public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; }
        [Browsable(false)]
        public new int ImageIndex { get => base.ImageIndex; set => base.ImageIndex = value; }
        //        [EditorAttribute(typeof(PropertyReturnFileName),
        //typeof(System.Drawing.Design.UITypeEditor))]
        //        [DisplayName("图标"), Description("图标"), Browsable(true)]
        [Browsable(false)]
        public new string ImageKey { get => base.ImageKey; set => base.ImageKey = value; }

        [Browsable(false)]
        public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; }
        [Browsable(false)]
        public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; }
        [Browsable(false)]
        public override LayoutEngine LayoutEngine => base.LayoutEngine;
        [Browsable(false)]
        protected override ImeMode ImeModeBase { get => base.ImeModeBase; set => base.ImeModeBase = value; }
        [Browsable(false)]
        public new bool CausesValidation { get => base.CausesValidation; set => base.CausesValidation = value; }
        [Browsable(false)]
        public override bool AutoSize { get => base.AutoSize; set => base.AutoSize = value; }
        [Browsable(false)]
        public new AutoSizeMode AutoSizeMode { get => base.AutoSizeMode; set => base.AutoSizeMode = value; }
        [Browsable(false)]
        public new Padding Margin { get => base.Margin; set => base.Margin = value; }
        [Browsable(false)]
        public new Padding Padding { get => base.Padding; set => base.Padding = value; }
        [Browsable(false)]
        public new Size MaximumSize { get => base.MaximumSize; set => base.MaximumSize = value; }
        [Browsable(false)]
        public new Size MinimumSize { get => base.MinimumSize; set => base.MinimumSize = value; }
        [Browsable(false)]
        public override bool AllowDrop { get => base.AllowDrop; set => base.AllowDrop = value; }
        [Browsable(false)]
        public override Point AutoScrollOffset { get => base.AutoScrollOffset; set => base.AutoScrollOffset = value; }
        //[Browsable(false)]
        //protected override bool CanEnableIme => base.CanEnableIme;
        //[Browsable(false)]
        //public override ContextMenu ContextMenu { get => base.ContextMenu; set => base.ContextMenu = value; }
        [Browsable(false)]
        protected override bool CanRaiseEvents => base.CanRaiseEvents;
        [Browsable(false)]
        public override BindingContext BindingContext { get => base.BindingContext; set => base.BindingContext = value; }
        [Browsable(false)]
        public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; }
        [Browsable(false)]
        public override ContextMenuStrip ContextMenuStrip { get => base.ContextMenuStrip; set => base.ContextMenuStrip = value; }

        //[Browsable(false)]
        //public override Cursor Cursor { get => base.Cursor; set => base.Cursor = value; }
        [Browsable(false)]
        public new ControlBindingsCollection DataBindings { get => base.DataBindings; }
        [Browsable(false)]
        public new object Tag { get => base.Tag; set => base.Tag = value; }
       
     













        #endregion
    }
}
